
express req.session对象如何持久化?
我对学习Node and Express并不陌生,但我仍在尝试用express围绕代码流。假设我们在session.js中有如下代码:app.post('/session', notLoggedIn, function(req, res) { User.findOne({ username: req.body.username, password: req.body.password }, function (err, user) { if (err)...
2024-01-10
处理并保留node.js / express会话
我当前正在使用一个Web应用程序,每次fs.mkdir都调用此Web应用程序,请删除所有当前的Express会话,因此我需要一种方法来保留所有这些会话。我试图用connect-mongodb和connect-redis保留所有这些会话,但是都无效,nodemon总是说req.session是未定义的。我不知道该怎么做才能保留所有会话。我需要一种方法来保...
2024-01-10
bodyParser弃用Express 4
我正在使用Express 4.0,并且我知道主体解析器已从Express核心中移除,我使用的是推荐的替代品,但是我得到了body-parser deprecated bodyParser: use individual json/urlencoded middlewaresserver.js:15:12 body-parser deprecated urlencoded: explicitly specify"extended: true" for extended parsing node_modules...
2024-01-10
如何正确关闭node-express服务器?
我需要从/auth/github/callback 网址获得回调后关闭服务器。使用通常的 关闭服务器当前支持server.close([callback])API功能,但是使用节点表达服务器时TypeError: Object function app(req, res){ app.handle(req,res); } has no method 'close' 出现错误。而且我不知道如何找到解决此问题的信息。NodeJS配置说明:$ node --versionv0.8.17$...
2024-01-10
从NodeJS内部调用Express Route
我的API有ExpressJS路由,我想从NodeJS内调用它var api = require('./routes/api')app.use('/api', api);在我的 文件中var express = require('express');var router = express.Router();router.use('/update', require('./update')); module.exports = router;因此,如果我想/api/update/something/:w...
2024-01-10
Express req.body在表单提交中为空
我有以下表格,提交后结果为空req.body这是我的HTML:<form action="/contact" name="contactUs" id="contactUs" method="POST"> <label for="email">Email Message</label> <input type="text" name="email" id="email"> <input type="submit" value='Save'></form>这是我的(一部分)server.js: app...
2024-01-10
与nodejs和express联系的托管应用程序
我开发了一个应用程序,使用reactjs和flux作为前台,并将后台表示为服务器。一切正常。但是当我主持应用程序时,这是一个问题。如果多个用户通过其url来运行应用程序,则这些更改将应用于所有实例。不表示允许多个实例?与nodejs和express联系的托管应用程序编辑: 这是我getMail:它在我的server...
2024-01-10
Nodejs,Express,路由
我已经使用express构建了一个api。在我的路线文件我有:Nodejs,Express,路由app.route('/getBalances') .post(api.getBalances); api.getBalances,取决于参数通过邮局发送称为“车辆”获得第一它是正确的控制器加载并调用其getBalances方法,例如:var controller = commonModel.getController(query.vehicle.toLowerCase()); controller.g...
2024-01-10
POST中的nodejs / express和二进制数据
我正在尝试将二进制数据发送到Express应用程序。只要我的值小于0x80,它就可以正常工作。如果单个值是0x80或更大,则会弄乱整个缓冲区。快递处理程序:binary = require('binary');exports.api = function(req, res){ var body = req.body.name; var buf = new Buffer(body,'binary'); console.log('body',req.body); console.log(...
2024-01-10
Node Express中的res.sendfile及其传递数据
是否有任何方法可以通过以下方式从Node.JS应用程序重定向到HTML文件:res.sendFile表达并将JSON数据传递到html文件?回答:您会从给定的请求中得到一个响应。您可以将多个事物组合成一个响应,也可以要求客户端发出单独的请求以获取独立的事物。如果您要执行的操作是获取HTML文件并通过在其中插入...
2024-01-10
Node JS Express处理多个请求
我有一个nodejsexpress服务器获取端点,该端点依次调用其他耗时的API(例如大约2秒)。我已经通过回调调用了此函数,使得res.send作为回调的一部分被触发。res.send对象打包了一个对象,该对象将在执行这些耗时的API调用的结果之后创建。因此,仅当我从API调用中获得全部信息时,才能发送我的res.send。...
2024-01-10
连接或Express中间件以修改response.body
我想要一个可以修改响应主体的中间件功能。这是用于快递服务器。就像是:function modify(req, res, next){ res.on('send', function(){ res.body = res.body + "modified" }); next();}express.use(modify);我不明白该听什么。任何帮助或文档将不胜感激。回答:您不需要听任何事件。只要做到function modify(req, res, next){ ...
2024-01-10
在NodeJS Express中删除路由映射
我有一条路线映射为:app.get('/health/*', function(req, res){ res.send('1');});如何在运行时删除/重新映射此路由到空处理程序?回答:这将删除app.use中间件和/或app.VERB(获取/发布)路由。在express@4.9.5上测试var routes = app._router.stack;routes.forEach(removeMiddlewares);function removeMiddlewares(route, i, route...
2024-01-10
NodeJS Express-全局唯一请求ID
是否可以定义每个日志语句中包含的唯一请求ID,而无需将记录器交给每个方法/函数调用?使用的技术:NodeJS,Express,Winston回答:最后,我创建了一个库,可以完成所有工作。 https://github.com/davicente/express-logger-unique-req-id它是Winston库的包装,因此您可以以相同的方式使用它。让我知道这是否对您...
2024-01-10
在Express.js中的res.send()之后退出
我有一个相当简单的Express.js应用程序,带有一个登录组件,如果登录失败,我想尽早退出。我看到有迹象表明该应用程序没有执行此操作,也没有找到明确的答案来表明调用是否res.send()停止任何进一步的处理。这是我现在的代码:client.login( username, password, function( auth, client ) { if( !auth ) { res.send( 401...
2024-01-10
在node.js Express中获取当前请求的主机名
因此,我在这里可能遗漏了一些简单的东西,但似乎无法找到一种方法来获取向其发送响应的请求对象的主机名。是否可以找出用户当前从node.js访问的主机名?回答:如果您在谈论HTTP请求,则可以在以下位置找到请求主机:request.headers.host但这取决于传入的请求。有关更多信息,请访问http://nodejs....
2024-01-10
进程被杀死后,如何正常关闭Express Server?
在生产环境中运行Express应用程序时,我想在服务器进程被杀死(即,发送SIGTERM或SIGINT)时正常关闭服务器。这是我的代码的简化版本:const express = require('express');const app = express();app.get('/', (req, res) => res.json({ ping: true }));const server = app.listen(3000, () => console.log('Running…'));setInterva...
2024-01-10
Express中使用的“ next”参数是什么?
假设您有一个简单的代码块,如下所示:app.get('/', function(req, res){ res.send('Hello World');});此函数有两个参数req和res,分别代表请求和响应对象。另一方面,其他函数的第三个参数称为next。例如,让我们看下面的代码:app.get('/users/:id?', function(req, res, next){ // Why do we need next? var id = req.params.id; if...
2024-01-10
Node.js + Express:路由与控制器
我是Node.js和Express的新手,我试图理解这两个似乎是重叠的概念,即路由与控制器。我看过一些简单的例子,app.js + route / *似乎足以路由所需的各种请求。但是,我也看到有人在谈论使用控制器,并且有些人暗示使用更正式的MVC模型(???)。如果有人可以帮助我消除这个谜团,并且如果您有一个在Node....
2024-01-10
Node.js + Express上的多个视图路径
我正在 在 编写CMS 。在我的CMS上,我有几个用于用户,页面等的模块。我希望每个模块的文件都放在 , 。有人知道我该怎么做到吗?我将 用作模板引擎,但如果有帮助,可以将其替换为其他东西。回答:自Express 4.10起,框架支持多视图文件夹功能。只需将一系列位置传递给views属性,就像这样...
2024-01-10
nodejs / express-将stdout立即流式传输到客户端
我产生了以下孩子:var spw = spawn('ping', ['-n','10', '127.0.0.1'])我希望在客户端( )上 而不是整体接收ping结果。到目前为止,我已经尝试过了:app.get('/path', function(req, res) { ... spw.stdout.on('data', function (data) { var str = data.toString(); res.write(str + "\n"); }); ......
2024-01-10
Express函数中的“ res”和“ req”参数是什么?
在以下Express函数中:app.get('/user/:id', function(req, res){ res.send('user' + req.params.id);});什么是req和res?它们代表什么,它们是什么意思,它们是做什么的?谢谢!回答:req是一个对象,其中包含有关引发事件的HTTP请求的信息。作为对的响应req,您可以res用于发送回所需的HTTP响应。这些参数可以命名...
2024-01-10
Express Node.JS-接收Redis回调,执行Promise
我有一个Node /Express路由功能,该功能在另一个模块中执行Redis调用。我想在一个节点模块中执行复杂的Redis功能,并发送一个简单的回调,说路由模块成功了。Redis调用会执行,但是我无法执行任何同步功能,即使从Redis调用中检索甚至是一个简单的true值。这是我的Redis函数:var addDoctor = function addDoctor...
2024-01-10
如何在node.js(express.js)中获得浏览器语言?
用户请求一些页面,我想(在服务器端)知道他/她的浏览器中的语言是什么。因此,我可以使用正确的消息来呈现模板。 在客户端,这很容易:var language = window.navigator.userLanguage || window.navigator.language回答:您可以使用 来获取用户在浏览器中设置的语言/语言环境。为了获得更轻松的支持,您可能...
2024-01-10
NodeJS Express对URL进行编码-如何解码
我将NodeJS与Express一起使用,当我在URL中使用外来字符时,它们会自动进行编码。在调用NodeJS之前,我先转义字符。所以字符串: אובמה成为 %u05D0%u05D5%u05D1%u05DE%u05D4现在,整个URL如下所示: http://localhost:32323/?query=%u05D0%u05D5%u05D1%u05DE%u05D4现在在我的NodeJS中,我得到了转义的字符串%u05D0%u05D5%u05D1%u05DE%u...
2024-01-10
